{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import rcParams\n",
    "\n",
    "rcParams['font.sans-serif'] = ['SimHei']\n",
    "\n",
    "# 创建图标，设置大小\n",
    "plt.figure(figsize=(10, 5))\n",
    "\n",
    "subjecct = ['语文', '数学', '英语', '物理', '化学', '生物']\n",
    "score = [80, 90, 70, 60, 80, 90]"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "plt.plot(subjecct, score)\n",
    "plt.title('成绩', fontsize=20, fontweight='bold', color='red')\n",
    "plt.show()"
   ],
   "id": "e40e69082630108a",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "plt.bar(subjecct, score)\n",
    "plt.show()"
   ],
   "id": "2b7401248e1eeec6",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "colors = ['red', 'yellow', 'green', 'blue', 'orange', 'purple']\n",
    "explode = [0.1, 0, 0, 0, 0, 0]  # 爆炸突出\n",
    "plt.pie(score,\n",
    "        labels=subjecct,\n",
    "        autopct='%.1f%%',\n",
    "        colors=colors,\n",
    "        wedgeprops={'width': 0.5},\n",
    "        explode=explode,\n",
    "        )\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "id": "c06c81f3b564eb84",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "plt.scatter(subjecct, score)\n",
    "plt.show()"
   ],
   "id": "ed9aac7335337ccf",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "# 箱型图\n",
    "data = {\n",
    "    '语文': [74, 84, 81, 15, 24, 36, 46, 14, 53, 59],\n",
    "    '数学': [93, 27, 83, 50, 61, 15, 18, 92, 7, 82],\n",
    "    '英语': [14, 10, 100, 49, 86, 67, 35, 8, 84, 57],\n",
    "}\n",
    "\n",
    "plt.boxplot(data.values(),\n",
    "            tick_labels=data.keys(),\n",
    "            patch_artist=True,\n",
    "            )\n",
    "\n",
    "plt.grid(True, axis='y', linestyle='--', alpha=0.5)\n",
    "plt.show()"
   ],
   "id": "1230c59cc802007e",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "# 同时绘制多图表\n",
    "f1 = plt.subplot(2, 2, 1)\n",
    "f1.plot(subjecct, score)\n",
    "\n",
    "f2 = plt.subplot(2, 2, 2)\n",
    "f2.bar(subjecct, score)\n",
    "\n",
    "f3 = plt.subplot(2, 2, 3)\n",
    "f3.scatter(subjecct, score)\n"
   ],
   "id": "d8011e31a0e9d912",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-08-04T06:20:07.608674Z",
     "start_time": "2025-08-04T06:20:07.441846Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 温度分析\n",
    "import pandas as pd\n",
    "\n",
    "rcParams['font.sans-serif'] = 'STHeiti'\n",
    "\n",
    "df = pd.read_csv('data/weather.csv')\n",
    "\n",
    "# 绘制气温的趋势变化图\n",
    "df['date'] = pd.to_datetime(df['date'])\n",
    "df = df[df['date'].dt.year == 2015]\n",
    "\n",
    "# df['temp_avg'] = (df['temp_max'] + df['temp_min']) / 2\n",
    "# plt.plot(df['date'], df['temp_avg'])\n",
    "# plt.plot(df['date'], df['temp_max'])\n",
    "# plt.plot(df['date'], df['temp_min'])\n",
    "# \n",
    "# plt.show()\n",
    "\n",
    "# 绘制降水量的直方图\n",
    "plt.hist(df['precipitation'], bins=5)"
   ],
   "id": "1c964922e3d24c3",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([334.,  15.,  13.,   0.,   3.]),\n",
       " array([ 0.  , 11.18, 22.36, 33.54, 44.72, 55.9 ]),\n",
       " <BarContainer object of 5 artists>)"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n",
      "findfont: Generic family 'sans-serif' not found because none of the following families were found: STHeiti\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 78
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": "",
   "id": "5e5f5e66471849f0",
   "outputs": [],
   "execution_count": null
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
